﻿using X.Infrastructure.WPF.Caliburn.AdviceAttributes;
using X.Infrastructure.WPF.Caliburn.Base;

namespace X.WPF.Controls.Sample.ViewModels.ThreedContext
{
    /// <summary>
    /// 首页视图模型
    /// </summary>
    public class ThreeDViewModel : ScreenBase
    {
        #region # 字段及构造器

        /// <summary>
        /// 创建首页视图模型构造器
        /// </summary>
        public ThreeDViewModel(ThreeDViewerViewModel threeDViewerViewModel, Point3DCanvasViewModel point3DCanvasViewModel, Marker3DCanvasViewModel marker3DCanvasViewModel)
        {
            this.ThreeDViewerViewModel = threeDViewerViewModel;
            this.Point3DCanvasViewModel = point3DCanvasViewModel;
            this.Marker3DCanvasViewModel = marker3DCanvasViewModel;
        }
        #endregion

        #region # 属性

        #region 3D模型查看器组件视图模型 —— ThreeDViewerViewModel ThreeDViewerViewModel
        /// <summary>
        /// 3D模型查看器组件视图模型
        /// </summary>
        [DependencyProperty]
        public ThreeDViewerViewModel ThreeDViewerViewModel { get; set; }
        #endregion

        #region 3D点画布组件视图模型 —— Point3DCanvasViewModel Point3DCanvasViewModel
        /// <summary>
        /// 3D点画布组件视图模型
        /// </summary>
        [DependencyProperty]
        public Point3DCanvasViewModel Point3DCanvasViewModel { get; set; }
        #endregion

        #region 3D标记画布组件视图模型 —— Marker3DCanvasViewModel Marker3DCanvasViewModel
        /// <summary>
        /// 3D标记画布组件视图模型
        /// </summary>
        [DependencyProperty]
        public Marker3DCanvasViewModel Marker3DCanvasViewModel { get; set; }
        #endregion

        #endregion

        #region # 方法

        //Initializations

        #region 加载 —— void Load()
        /// <summary>
        /// 加载
        /// </summary>
        public void Load()
        {
        }
        #endregion

        #endregion
    }
}
